using System;
using System.Collections.Generic;
using System.Text;

namespace PipeCSharp
{
    public class DinputKeys
    {
        /****************************************************************************
         *
         *=DirectInput keyboard scan codes
         *
         ****************************************************************************/
        public static uint DIK_ESCAPE = 0x01;
        public static uint DIK_1 = 0x02;
        public static uint DIK_2 = 0x03;
        public static uint DIK_3 = 0x04;
        public static uint DIK_4 = 0x05;
        public static uint DIK_5 = 0x06;
        public static uint DIK_6 = 0x07;
        public static uint DIK_7 = 0x08;
        public static uint DIK_8 = 0x09;
        public static uint DIK_9 = 0x0A;
        public static uint DIK_0 = 0x0B;
        public static uint DIK_MINUS = 0x0C;   /* - on main keyboard */
        public static uint DIK_EQUALS = 0x0D;
        public static uint DIK_BACK = 0x0E;  /* backspace */
        public static uint DIK_TAB = 0x0F;
        public static uint DIK_Q = 0x10;
        public static uint DIK_W = 0x11;
        public static uint DIK_E = 0x12;
        public static uint DIK_R = 0x13;
        public static uint DIK_T = 0x14;
        public static uint DIK_Y = 0x15;
        public static uint DIK_U = 0x16;
        public static uint DIK_I = 0x17;
        public static uint DIK_O = 0x18;
        public static uint DIK_P = 0x19;
        public static uint DIK_LBRACKET = 0x1A;
        public static uint DIK_RBRACKET = 0x1B;
        public static uint DIK_RETURN = 0x1C;  /* Enter on main keyboard */
        public static uint DIK_LCONTROL = 0x1D;
        public static uint DIK_A = 0x1E;
        public static uint DIK_S = 0x1F;
        public static uint DIK_D = 0x20;
        public static uint DIK_F = 0x21;
        public static uint DIK_G = 0x22;
        public static uint DIK_H = 0x23;
        public static uint DIK_J = 0x24;
        public static uint DIK_K = 0x25;
        public static uint DIK_L = 0x26;
        public static uint DIK_SEMICOLON = 0x27;
        public static uint DIK_APOSTROPHE = 0x28;
        public static uint DIK_GRAVE = 0x29;   /* accent grave */
        public static uint DIK_LSHIFT = 0x2A;
        public static uint DIK_BACKSLASH = 0x2B;
        public static uint DIK_Z = 0x2C;
        public static uint DIK_X = 0x2D;
        public static uint DIK_C = 0x2E;
        public static uint DIK_V = 0x2F;
        public static uint DIK_B = 0x30;
        public static uint DIK_N = 0x31;
        public static uint DIK_M = 0x32;
        public static uint DIK_COMMA = 0x33;
        public static uint DIK_PERIOD = 0x34;    /* . ;on main keyboard */
        public static uint DIK_SLASH = 0x35;    /* / on main keyboard */
        public static uint DIK_RSHIFT = 0x36;
        public static uint DIK_MULTIPLY = 0x37;    /* * on numeric keypad */
        public static uint DIK_LMENU = 0x38;    /* left Alt */
        public static uint DIK_SPACE = 0x39;
        public static uint DIK_CAPITAL = 0x3A;
        public static uint DIK_F1 = 0x3B;
        public static uint DIK_F2 = 0x3C;
        public static uint DIK_F3 = 0x3D;
        public static uint DIK_F4 = 0x3E;
        public static uint DIK_F5 = 0x3F;
        public static uint DIK_F6 = 0x40;
        public static uint DIK_F7 = 0x41;
        public static uint DIK_F8 = 0x42;
        public static uint DIK_F9 = 0x43;
        public static uint DIK_F10 = 0x44;
        public static uint DIK_NUMLOCK = 0x45;
        public static uint DIK_SCROLL = 0x46;    /* Scroll Lock */
        public static uint DIK_NUMPAD7 = 0x47;
        public static uint DIK_NUMPAD8 = 0x48;
        public static uint DIK_NUMPAD9 = 0x49;
        public static uint DIK_SUBTRACT = 0x4A;    /* - ;on numeric keypad */
        public static uint DIK_NUMPAD4 = 0x4B;
        public static uint DIK_NUMPAD5 = 0x4C;
        public static uint DIK_NUMPAD6 = 0x4D;
        public static uint DIK_ADD = 0x4E;    /* + on numeric keypad */
        public static uint DIK_NUMPAD1 = 0x4F;
        public static uint DIK_NUMPAD2 = 0x50;
        public static uint DIK_NUMPAD3 = 0x51;
        public static uint DIK_NUMPAD0 = 0x52;
        public static uint DIK_DECIMAL = 0x53;    /* . on numeric keypad */
        public static uint DIK_OEM_102 = 0x56;    /* <> or \| on RT 102-key keyboard (Non-U.S.) */
        public static uint DIK_F11 = 0x57;
        public static uint DIK_F12 = 0x58;
        public static uint DIK_F13 = 0x64;   /*==(NEC PC98) */
        public static uint DIK_F14 = 0x65;   /*==(NEC PC98) */
        public static uint DIK_F15 = 0x66;   /*==(NEC PC98) */
        public static uint DIK_KANA = 0x70;  /* (Japanese keyboard)=  */
        public static uint DIK_ABNT_C1 = 0x73;  /* /? on Brazilian keyboard */
        public static uint DIK_CONVERT = 0x79;  /* (Japanese keyboard)=  */
        public static uint DIK_NOCONVERT = 0x7B;   /* (Japanese keyboard)=  */
        public static uint DIK_YEN = 0x7D; /* (Japanese keyboard)=  */
        public static uint DIK_ABNT_C2 = 0x7E;   /* Numpad . on Brazilian keyboard */
        public static uint DIK_NUMPADEQUALS = 0x8D;  /* = on numeric keypad (NEC PC98) */
        public static uint DIK_PREVTRACK = 0x90;   /* Previous Track (DIK_CIRCUMFLEX on Japanese keyboard) */
        public static uint DIK_AT = 0x91;  /*==(NEC PC98) */
        public static uint DIK_COLON = 0x92;   /*==(NEC PC98) */
        public static uint DIK_UNDERLINE = 0x93;   /*==(NEC PC98) */
        public static uint DIK_KANJI = 0x94;  /* (Japanese keyboard)=  */
        public static uint DIK_STOP = 0x95;   /*==(NEC PC98) */
        public static uint DIK_AX = 0x96;  /*==(Japan AX) */
        public static uint DIK_UNLABELED = 0x97;  /*==(J3100) */
        public static uint DIK_NEXTTRACK = 0x99;  /* Next Track */
        public static uint DIK_NUMPADENTER = 0x9C;   /* Enter on numeric keypad */
        public static uint DIK_RCONTROL = 0x9D;
        public static uint DIK_MUTE = 0xA0;  /* Mute */
        public static uint DIK_CALCULATOR = 0xA1;   /* Calculator */
        public static uint DIK_PLAYPAUSE = 0xA2;  /* Play / Pause */
        public static uint DIK_MEDIASTOP = 0xA4;   /* Media Stop */
        public static uint DIK_VOLUMEDOWN = 0xAE;   /* Volume - */
        public static uint DIK_VOLUMEUP = 0xB0; /* Volume + */
        public static uint DIK_WEBHOME = 0xB2;   /* Web home */
        public static uint DIK_NUMPADCOMMA = 0xB3; /* , on numeric keypad (NEC PC98) */
        public static uint DIK_DIVIDE = 0xB5; /* / on numeric keypad */
        public static uint DIK_SYSRQ = 0xB7;
        public static uint DIK_RMENU = 0xB8; /* right Alt */
        public static uint DIK_PAUSE = 0xC5; /* Pause */
        public static uint DIK_HOME = 0xC7; /* Home on arrow keypad */
        public static uint DIK_UP = 0xC8;  /* UpArrow on arrow keypad */
        public static uint DIK_PRIOR = 0xC9;  /* PgUp on arrow keypad */
        public static uint DIK_LEFT = 0xCB;  /* LeftArrow on arrow keypad */
        public static uint DIK_RIGHT = 0xCD; /* RightArrow on arrow keypad */
        public static uint DIK_END = 0xCF;    /* End on arrow keypad */
        public static uint DIK_DOWN = 0xD0;    /* DownArrow on arrow keypad */
        public static uint DIK_NEXT = 0xD1;   /* PgDn on arrow keypad */
        public static uint DIK_INSERT = 0xD2;   /* Insert on arrow keypad */
        public static uint DIK_DELETE = 0xD3;   /* Delete on arrow keypad */
        public static uint DIK_LWIN = 0xDB;   /* Left Windows key */
        public static uint DIK_RWIN = 0xDC;  /* Right Windows key */
        public static uint DIK_APPS = 0xDD;   /* AppMenu key */
        public static uint DIK_POWER = 0xDE;   /* System Power */
        public static uint DIK_SLEEP = 0xDF;   /* System Sleep */
        public static uint DIK_WAKE = 0xE3;  /* System Wake */
        public static uint DIK_WEBSEARCH = 0xE5;  /* Web Search */
        public static uint DIK_WEBFAVORITES = 0xE6;   /* Web Favorites */
        public static uint DIK_WEBREFRESH = 0xE7;  /* Web Refresh */
        public static uint DIK_WEBSTOP = 0xE8; /* Web Stop */
        public static uint DIK_WEBFORWARD = 0xE9;   /* Web Forward */
        public static uint DIK_WEBBACK = 0xEA; /* Web Back */
        public static uint DIK_MYCOMPUTER = 0xEB;   /* My Computer */
        public static uint DIK_MAIL = 0xEC;  /* Mail */
        public static uint DIK_MEDIASELECT = 0xED;  /* Media Select */
    }
}
